﻿namespace NTLib.Core.Exceptions
{
    using Extensions;
    using Resources;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    /// <summary>
    /// Raised when a mandatory dependency is missing from the IOC pattern or singleton ...
    /// </summary>
    /// <seealso cref="NTLib.Core.Exceptions.NTLibException" />
    public class DependencyMissingException : NTLibException
    {
        #region ctor

        /// <summary>
        /// Initializes a new instance of the <see cref="DependencyMissingException"/> class.
        /// </summary>
        public DependencyMissingException(Type typeMissing, Exception inner = null)
            : base(StandardErrorMessages.DependencyMissing.Argument(typeMissing), inner)
        {

        }

        /// <summary>
        /// Initializes a new instance of the <see cref="DependencyMissingException"/> class.
        /// </summary>
        /// <param name="message"></param>
        /// <param name="inner"></param>
        public DependencyMissingException(string message, Exception inner = null)
            : base(message, inner)
        {

        }

        #endregion
    }
}
